package cn.tedu.io.file;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileCopyText {
    public static void main(String[] args) throws IOException {
        //
        long start=System.currentTimeMillis();

        //创建文件字节输入流对象
        FileInputStream fis=new FileInputStream
                ("D:\\软件\\jdk1.8.0_45.zip");
        //创建文件字节输出流对象
        FileOutputStream fos=new FileOutputStream
                ("D:\\jdk1.8.0_45.zip");
        //读取数据
        //自建缓冲区
        //1KB---2556
        //1MB---391
        //10MB---425
        //50MB---1640
        //100MB---1884
        //200MB---2411
        //长度越小，传输次数越多，消耗时间越长
        //长度越长，需要创建超的数组对象，消耗时间越长
        byte[] bs=new byte[1024];//50MB

        int len=-1;
        while ((len=fis.read(bs))!=-1){
            //边读边写
            fos.write(bs,0,len);
        }
        //关流
        fis.close();
        fos.close();

        //
        long end=System.currentTimeMillis();

        //程序消耗时间
        System.out.println(end-start);
    }
}
